Android

WebView

 

<uses-permission android:name=android.permission.INTERNET/>

 

// https 가 아닌 http 는 보안 문제로 접근이 되지 않는다. 그걸 풀어준다.
android:usesCleartextTraffic=”true” (AndroidManifest.xml -> application)

 


 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</LinearLayout>

 


 

public class SettingsActivity extends AppCompatActivity {

    private WebView webView;
    private String url = "https://www.naver.com";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings_activity);


        webView = (WebView) findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);  // 자바스크립트 기본값은 false
        webView.loadUrl(url);
        webView.setWebChromeClient(new WebChromeClient());
        webView.setWebViewClient(new WebViewClientClass()); // setWebViewClient 가 주어지지 않으면 시스템 브라우저로 보여짐
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    private class WebViewClientClass extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return false;  // false 를 반환하면 현재 URL 로 계속 진형 (true 하면 중단)
        }
    }
}

 

 


 

[Android][WebView] ERR_CLEARTEXT_NOT_PERMITTED 오류
https://nobase-dev.tistory.com/81

 

현재 WebView에서 외부 페이지 불러오기
https://cofs.tistory.com/186

 

안드로이드 앱 만들기 #9 (WebView) – 홍드로이드 유튜브
https://www.youtube.com/watch?v=S4kd9OPzcf0

 

홍드로이드 깃헙
https://github.com/hongdroid94/9_WebView

 

 

 

 

Related posts

Leave a Comment